package string;
/**
 * java.lang.StringBuilder专门用于编辑字符串内容的工具类
 * 其内部维护一个可变的char数组
 * 同时同乐编辑字符串内容的相关操作: 增删改插
 * */
public class StringBuilderDemo {
    public static void main(String[] args) {
        String str = "好好学习Java";
        StringBuilder builder = new StringBuilder(str);

        //append(); 追加内容----在末尾追加
        builder.append(",为了好找个工作");
        System.out.println(builder);//好好学习Java, 为了找个好工作

        //replace(): 替换部分内容(含头不含尾)
        builder.replace(9,16,"就是为了改变世界");
        System.out.println(builder);//好好学习Java,就是为了改变世界

        //delete();删除部分内容(含头不含尾)
        builder.delete(0,8);//删除下标为0到7的内容
        System.out.println(builder);

        //insert(): 插入内容
        builder.insert(0,"活着");//在下标0的位置前面插入"活着"
        System.out.println(builder);

        //reverse():反转
        builder.reverse();//反转builder的内容
        System.out.println(builder);//界世变改了为是就,着活

        // StringBuilder的创建方式
        /*
        StringBuilder builder1 = new StringBuilder();//空字符串
        StringBuilder builder2 = new StringBuilder("abc");//abc字符串

         */

        //String和StringBuilder互转:
        /*
        String str = "abc";
        StringBuilder builder3 = new StringBuilder(str);//abc串, 基于String对象构造StringBuilder
        String str2 = builder1.toString();//将builder3转换为String

         */

    }
}
